﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace elr_tracking_bal.ART
{
    public class VisibleArticulo : Articulo, INotifyPropertyChanged
    {
        private float _CANTIDAD;
        private bool _ISCHECKED = true;
        private Moneda _MONEDA;
        private float _COSTOU;
        private float _DESCUENTO;
        private float _IVA;

        public float IVA
        {
            get
            {
                return _IVA;
            }
            set
            {
                if (_IVA != value)
                {
                    _IVA = value;
                    if (this.PropertyChanged != null)
                    {
                        this.PropertyChanged(this, new PropertyChangedEventArgs("IVA"));
                    }
                }

            }

        }

        public Moneda MONEDA
        {
            get
            {
                return _MONEDA;
            }
            set
            {
                if (_MONEDA != value)
                {
                    _MONEDA = value;
                    if (this.PropertyChanged != null)
                    {
                        this.PropertyChanged(this, new PropertyChangedEventArgs("MONEDA"));
                    }
                }

            }

        }

        public bool ISCHECKED
        { 
            get
                {
                    return _ISCHECKED;
                }
                set
                {
                    if (_ISCHECKED != value)
                    {
                        _ISCHECKED = value;
                        if (this.PropertyChanged != null)
                        {
                            this.PropertyChanged(this, new PropertyChangedEventArgs("ISCHECKED"));
                        }
                    }

                }
            
        }

        public float CANTIDAD
        {
            get
            {
                return _CANTIDAD;
            }
            set
            {
                if (_CANTIDAD != value)
                {
                    _CANTIDAD = value;
                    if (this.PropertyChanged != null)
                    {
                        this.PropertyChanged(this, new PropertyChangedEventArgs("CANTIDAD"));
                    }
                }

            }
        }

        public float COSTOU
        {
            get
            {
                return _COSTOU;
            }
            set
            {
                if (_COSTOU != value)
                {
                    _COSTOU = value;
                    if (this.PropertyChanged != null)
                    {
                        this.PropertyChanged(this, new PropertyChangedEventArgs("COSTOU"));
                    }
                }

            }
        }

        public float DESCUENTO
        {
            get
            {
                return _DESCUENTO;
            }
            set
            {
                if (_DESCUENTO != value)
                {
                    _DESCUENTO = value;
                    if (this.PropertyChanged != null)
                    {
                        this.PropertyChanged(this, new PropertyChangedEventArgs("DESCUENTO"));
                    }
                }

            }
        }
        //,pomArt.COSTO_UNITARIO
        //,pomArt.ID_MONEDA
        //,mon.MONEDA
        //,pomArt.IVA

        public VisibleArticulo(int ID_ARTICULO, string ARTICULO, Categoria categoria, Equipo equipo, Marca marca, Modelo modelo
                                    , string IDENTIFICADOR, float CANTIDAD, float COSTOU, int id_moneda, string moneda, float IVA)
        {
            this.ID_ARTICULO = ID_ARTICULO;
            this.ARTICULO = ARTICULO;
            this.CATEGORIA = new Categoria(categoria.ID_CATEGORIA, categoria.CATEGORIA);
            this.EQUIPO = new Equipo(equipo.ID_EQUIPO, equipo.EQUIPO);
            this.MARCA = new Marca(marca.ID_MARCA, marca.MARCA);
            this.MODELO = new Modelo(modelo.ID_MODELO, modelo.MODELO);
            this.IDENTIFICADOR = IDENTIFICADOR;
            this._CANTIDAD = CANTIDAD;
            this._ISCHECKED = false;
            this.COSTOU = COSTOU;

            this.MONEDA = new Moneda();

            this.MONEDA.MONEDA = moneda;
            this.MONEDA.ID_MONEDA = id_moneda;
            this.IVA = IVA;
        }

        public VisibleArticulo(int ID_ARTICULO, string ARTICULO, Categoria categoria, Equipo equipo, Marca marca, Modelo modelo
                                    , string IDENTIFICADOR, float CANTIDAD)
        {
            this.ID_ARTICULO = ID_ARTICULO;
            this.ARTICULO = ARTICULO;
            this.CATEGORIA = new Categoria(categoria.ID_CATEGORIA, categoria.CATEGORIA);
            this.EQUIPO = new Equipo(equipo.ID_EQUIPO, equipo.EQUIPO);
            this.MARCA = new Marca(marca.ID_MARCA, marca.MARCA);
            this.MODELO = new Modelo(modelo.ID_MODELO, modelo.MODELO);
            this.IDENTIFICADOR = IDENTIFICADOR;
            this._CANTIDAD = CANTIDAD;
            this._ISCHECKED = false;
        }

        public VisibleArticulo() { }

        public event PropertyChangedEventHandler PropertyChanged;
    }
}
